<?php
class BodegasController extends AppController {
   
        var $name = 'Bodegas';
        var $helpers = array('Html','Form', 'Js' => array('jquery.min.js', 'jquery-ui.min'));
        var $uses = array('Producto', 'Supplier', 'Obra','Usuario','Persona','Group');        
       
       function index(){ 
            $this->set('title_for_layout', 'Bodega');           
            $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");       
       }
                           
       function add(){
            $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
            if(!empty($this->data))
            {
                $this->Producto->create();
                if($this->Producto->save($this->data))
                {
                    $this->Session->setFlash('Producto guardado exitosamente');
                    $this->redirect(array('action'=>'index'),null);
                }
             else
             {
                 $this->Session->setFlash('Problemas al guardar el producto, intentelo nuevamente');
             }
           }       
       }
       
        function prestar(){
             $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
             $this->set('productos', $this->Producto->find('all', array('conditions' => array('Producto.activo' => 1),
                                                                        'order'=>'Producto.nombre ASC',
                                                                        'limit'=>10
                 						       )
                                                          )
                       );
                        $obras = $this->Obra->find('list',array( 'conditions' => array('Obra.activo' => 1),
                                                                'fields'=>array('nombre')));
                        $this->set('obras',$obras);
             }
       
        function todoproducto(){ 
             $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
             $this->set('productos', $this->Producto->find('all', array('conditions' => array('Producto.activo' => 1),
                                                                        'order'=>'Producto.nombre ASC',
                                                                       
									)
						           )
			);                        
        }
       
       function vertodo(){
            $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
         $this->set('productos', $this->Producto->find('all', array('conditions' => array('Producto.activo' => 1),
                                                                        'order'=>'Producto.nombre ASC',
                                                                        
								    )
 						      )
	           );              
       }
       
        function devolver(){
             $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
             $this->set('productos', $this->Producto->find('all', array('conditions' => array('Producto.activo' => 1),
                                                                        'order'=>'Producto.nombre ASC',
                                                                        'limit'=>10
								    )
 						      )
                        );   
             $obras = $this->Obra->find('list',array( 'conditions' => array('Obra.activo' => 1),
                                                                'fields'=>array('nombre')));
             $this->set('obras',$obras);
       }      
       
        function devolvertodo(){
             $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
            $this->set('productos', $this->Producto->find('all', array('conditions' => array('Producto.activo' => 1),
                                                                        'order'=>'Producto.nombre ASC',
                                                                        
								    )
 						      )
	           );              
       }        
       
       function complete() {
            $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
            $query = $_GET['term'];
            $productos = $this->Producto->find('all', array(
            'conditions' => array('Producto.nombre LIKE' => '%' . $query . '%', 'Producto.activo' => 1),
                'fields' => array('Producto.nombre', 'Producto.codigo', 'Producto.cantidad', 'Producto.id')
            ));
            foreach($productos as $producto) {
                $data[] = $producto['Producto'];
            }
            $data = json_encode($data);
            echo($data);           
        }

        
           function cotizacion(){
         $this->set('productos', $this->Producto->find('all', array('conditions' => array('Producto.activo' => 1),
                                                                        'order'=>'Producto.nombre ASC',
                                                                        
								    )
 						      )
	           );    
           
       }
        
        
       function insertProductosObra(){
           $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
           $vec = $_GET['data'];
           
           if(!empty($vec)){
               foreach($vec as $v){
                   //inserto valores para prestamo de obra-producto con su cantidad
                   $query = "call insert_productos_obras(".$v['codProducto'].",". $v['obraID']['Obra']['id'].",".$v['cantRetiro'].");";
                   $this->Usuario->query($query);                
                   $canProdID = $v['cantStock'] - $v['cantRetiro'];
                   $query = "call update_productos(". $v['codProducto']."," . $canProdID .")";
                   $this->Usuario->query($query); 
               }
           }
           else
           {
                $this->Session->setFlash('Problemas al insertar datos');
           }
           
       }
        
        function idObra() {
            $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
            $query = $_GET['data'];
            
            if(!empty($query)){
                parse_str($query,$myArray);
                $obras = $this->Obra->find('first', array(
                                                        'conditions' => array('Obra.nombre' =>  $myArray['obra_id'], 'Obra.activo' => 1),
                                                            'fields' => array('Obra.id', 'Obra.nombre')
                                                        ));

               $data = json_encode($obras);
                echo($data);
            }             
        }

          function cambiopass(){ 
            $this->set('title_for_layout', 'Bodega');           
            $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas"); 
            
            if(!empty($this->data)){
                
                if($this->data['Usuario']['password'] == $this->Session->read('Usuario.pass')){
                    if($this->data['Usuario']['passNew'] == $this->data['Usuario']['confirmacion']){
                        $pass= $this->data['Usuario']['passNew'];
                    /*    $passnew = $this->data->Session->read(passNew]);
                        $idpass = $this->Session->read('Usuario.id');
                        $this->Session->setFlash($passnew);
                        $this->Session->setFlash($idpass);    */    
               $query = "call cambiar_pass('".$pass."',". $this->Session->read('Usuario.id').");";
                 
                $this->Usuario->query($query);
                     // $this->Usuario->save($this->data); 
                $this->Session->setFlash("Contraseña modificada con exito");
                    }
                    else
                    {
                        $this->Session->setFlash('La contraseña nueva a ingresar no coincide con la confirmación de contraseña');
                    }
                }
                else
                {
                    $this->Session->setFlash('La contraseña anterior no es valida');
                }
                
            }
       }
       
      function updateProductosObra(){
          $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
           $vec = $_GET['data'];
           
           if(!empty($vec)){
               foreach($vec as $v){
                   //inserto valores para prestamo de obra-producto con su cantidad
                   
                   $canProdID = $v['cantStock'] + $v['cantIngreso'];
                   $query = "call update_productos_obra(".$v['codProducto'].",". $v['obraID']['Obra']['id'].",".$v['cantIngreso']. ",". $canProdID. ");";
                   $this->Usuario->query($query);                
                  
//                   $query = "call update_productos(". $v['codProducto']."," . $canProdID .")";
//                   $this->Usuario->query($query); 
               }
           }
           else
           {
                $this->Session->setFlash('Problemas al insertar datos');
           }
      }
      
      function getProveedor(){
           $this->autorizado($this->Session->read('Usuario.grupoId'),"bodegas");
           $vec = $_POST['data'];
           
//           if(!empty($vec)){
//               foreach($vec as $v){
//                   //inserto valores para prestamo de obra-producto con su cantidad
//                   
//                   $canProdID = $v['cantStock'] + $v['cantIngreso'];
//                   $query = "call update_productos_obra(".$v['codProducto'].",". $v['obraID']['Obra']['id'].",".$v['cantIngreso']. ",". $canProdID. ");";
//                   $this->Usuario->query($query);                
//                  
////                   $query = "call update_productos(". $v['codProducto']."," . $canProdID .")";
////                   $this->Usuario->query($query); 
//               }    
//           }
//           else
//           {
//                $this->Session->setFlash('Problemas al insertar datos');
//           }
      }

}?>
